const baseURL = 'http://localhost:3000';
const defaultHeader = {
    'Content-Type': 'application/json',
  };
// 封装通用请求方法
function request(method, url, data = {}, header = {}) {
  // 合并header信息
  header = { ...defaultHeader, ...header };
  // 拼接完整API地址
  const apiUrl = `${baseURL}${url}`;
  return wxRequest({
    url: apiUrl,
    method: method,
    data: method === 'GET' ? {} : JSON.stringify(data),
    header: header,
  });
}
// 封装微信小程序请求方法
const wxRequest = (options) => {
  return new Promise((resolve, reject) => {
    Object.assign(options.header || {}, defaultHeader);
    // 添加全局loading状态控制、错误重试机制或其他自定义逻辑
    wx.request({
      ...options,
      success(res) {
        if (res.statusCode === 200) {
          resolve(res.data);
        } else {
          reject(new Error(`请求失败，状态码：${res.statusCode}`));
        }
      },
      fail(err) {
        reject(err);
      },
    });
  });
};
  // 对常见的HTTP方法进行进一步封装
request.get = (url, data, header) => request('GET', url, data, header);
request.post = (url, data, header) => request('POST', url, data, header);
module.exports = request;